%%%%%##%#*##*++===+#################################################%
%%###*+++##**++++===+####%###########%%%############################%
%%#**#####***++++=====+###%%########################################%
%%#**+#****#******+===-=*###########################################%
%%%+==#%##***+++***+++==+*##########################################%
%%#+=+*%#%####*++++=+**#%###########################################%
%##+=+*%#*#%%##########%%%############################%%############%
%#*+=++#%*#%%%###%#####%%%##########################################%
%#**=+=*%*##%%###%##%%##############################################%
##++-+=+#*###%####%#################################################%
%#**=+++#####%##############################################%#####%#%
***++++=*####%%#####################################################%
%%%%+++*#####%%############################%########%#####%#########%
###*########%%%#####################################################%
####******####%#####################################################%
*************####++***=-:--=+***************************************#
++++++++++++++=-: +*+-::..-==+=++++++++++=+++++++++++++++=++++++++++*
=---=-----===:::::-=====-.:-:=*++------------====::---=+**+=---::===*
+=+=======++=-:-:=:==-::----::-=**++++++-:-=++:::.:=--==-====-=:.:::*
*****+-:-=+==--::+---+*=====-:-*+*#*****+**+--:-----:--+--+--:-----:=
*##*+=:-++==----=+--:+*-:--:----=+==+**##*+*+::-====+*=-:---*+====-:=
-=+++=.::--------+*+=*---------========++==---=-:-:--#=-----#=----:==
#****++++++*+****#%#**##++++*+++**##***********++**++########++**++*#